package com.ruoyi.project.syl_LiBiao.domain;

import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 outpatient_register
 * 挂号表
 * @author ruoyi
 * @date 2021-07-14
 */
public class OutpatientRegister extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 挂号单号
 */
    @Excel(name = "挂号单号 ")
    private String registerId;

    /** 患者id
 */
    @Excel(name = "患者id ")
    private Integer patientId;

    /** 医生id
 */
    @Excel(name = "医生id ")
    private Integer doctorId;

    /** 科室id
 */
    @Excel(name = "科室id ")
    private Integer deptId;

    /** 当前号数
 */
    private Integer registerSort;

    /** 挂号类型 */
    @Excel(name = "挂号类型")
    private String registerType;

    /** 挂号时段
 */
    @Excel(name = "挂号时段 ")
    private String registerSubsectionTime;

    /** 挂号时间
 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "挂号时间 ", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerTime;

    /** 流水id */
    @Excel(name = "流水id")
    private Integer turnoverId;

    /** 挂号费用 */
    @Excel(name = "挂号费用")
    private Integer registerCost;

    /** 收费状态 0 未收费 1已收费 */
    @Excel(name = "收费状态 0 未收费 1已收费")
    private String costStatus;

    /** 就诊状态 0 未就诊 1已就诊 */
    @Excel(name = "就诊状态 0 未就诊 1已就诊")
    private String outpatientStatus;

    public OutpatientRegister() {
    }

    public OutpatientRegister(String registerId, Integer patientId, Integer doctorId, Integer deptId, Integer registerSort, String registerType, String registerSubsectionTime, Date registerTime, Integer turnoverId, Integer registerCost, String costStatus, String outpatientStatus) {

        this.registerId = registerId;
        this.patientId = patientId;
        this.doctorId = doctorId;
        this.deptId = deptId;
        this.registerSort = registerSort;
        this.registerType = registerType;
        this.registerSubsectionTime = registerSubsectionTime;
        this.registerTime = registerTime;
        this.turnoverId = turnoverId;
        this.registerCost = registerCost;
        this.costStatus = costStatus;
        this.outpatientStatus = outpatientStatus;
    }

    @Override
    public String toString() {
        return "OutpatientRegister2{" +
                "registerId='" + registerId + '\'' +
                ", patientId=" + patientId +
                ", doctorId=" + doctorId +
                ", deptId=" + deptId +
                ", registerSort=" + registerSort +
                ", registerType='" + registerType + '\'' +
                ", registerSubsectionTime='" + registerSubsectionTime + '\'' +
                ", registerTime=" + registerTime +
                ", turnoverId=" + turnoverId +
                ", registerCost=" + registerCost +
                ", costStatus='" + costStatus + '\'' +
                ", outpatientStatus='" + outpatientStatus + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof OutpatientRegister)) return false;
        OutpatientRegister that = (OutpatientRegister) o;
        return Objects.equals(registerId, that.registerId) &&
                Objects.equals(patientId, that.patientId) &&
                Objects.equals(doctorId, that.doctorId) &&
                Objects.equals(deptId, that.deptId) &&
                Objects.equals(registerSort, that.registerSort) &&
                Objects.equals(registerType, that.registerType) &&
                Objects.equals(registerSubsectionTime, that.registerSubsectionTime) &&
                Objects.equals(registerTime, that.registerTime) &&
                Objects.equals(turnoverId, that.turnoverId) &&
                Objects.equals(registerCost, that.registerCost) &&
                Objects.equals(costStatus, that.costStatus) &&
                Objects.equals(outpatientStatus, that.outpatientStatus);
    }

    @Override
    public int hashCode() {
        return Objects.hash(registerId, patientId, doctorId, deptId, registerSort, registerType, registerSubsectionTime, registerTime, turnoverId, registerCost, costStatus, outpatientStatus);
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getRegisterId() {
        return registerId;
    }

    public void setRegisterId(String registerId) {
        this.registerId = registerId;
    }

    public Integer getPatientId() {
        return patientId;
    }

    public void setPatientId(Integer patientId) {
        this.patientId = patientId;
    }

    public Integer getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(Integer doctorId) {
        this.doctorId = doctorId;
    }

    public Integer getDeptId() {
        return deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public Integer getRegisterSort() {
        return registerSort;
    }

    public void setRegisterSort(Integer registerSort) {
        this.registerSort = registerSort;
    }

    public String getRegisterType() {
        return registerType;
    }

    public void setRegisterType(String registerType) {
        this.registerType = registerType;
    }

    public String getRegisterSubsectionTime() {
        return registerSubsectionTime;
    }

    public void setRegisterSubsectionTime(String registerSubsectionTime) {
        this.registerSubsectionTime = registerSubsectionTime;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Integer getTurnoverId() {
        return turnoverId;
    }

    public void setTurnoverId(Integer turnoverId) {
        this.turnoverId = turnoverId;
    }

    public Integer getRegisterCost() {
        return registerCost;
    }

    public void setRegisterCost(Integer registerCost) {
        this.registerCost = registerCost;
    }

    public String getCostStatus() {
        return costStatus;
    }

    public void setCostStatus(String costStatus) {
        this.costStatus = costStatus;
    }

    public String getOutpatientStatus() {
        return outpatientStatus;
    }

    public void setOutpatientStatus(String outpatientStatus) {
        this.outpatientStatus = outpatientStatus;
    }
}
